package com.sdy.supermarket.biz.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sdy.common.model.BizException;
import com.sdy.supermarket.biz.model.GsAppIpApply;
import com.sdy.mvc.service.BaseService;
import com.sdy.supermarket.biz.model.GsApproveFlow;
import com.sdy.supermarket.biz.param.IpApplyListParam;
import com.sdy.supermarket.biz.vo.IpApplyInfoVo;
import com.sdy.supermarket.biz.vo.IpApplyListVo;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author zzq
 * @since 2019-08-01
 */
public interface GsAppIpApplyService extends BaseService<GsAppIpApply> {

    /**
     * 获取用户IP修改申请单列表
     *
     * @param userId
     * @param size
     * @param current
     * @param name
     * @param ip
     * @param state
     * @return
     */
    IPage<IpApplyListVo> getUserApplyList(Integer userId, long size, long current, String name, String ip, Integer state);


    /**
     * 管理员查看需要审核的IP修改申请单列表
     *
     * @param userId
     * @param size
     * @param current
     * @param name
     * @param ip
     * @param state
     * @return
     */
    IPage<IpApplyListVo> getManagerApproveIpApplyList(Integer userId, long size, long current, String name, String ip, Integer state);

    /**
     * * IP修改申请单审批接口
     *
     * @param userId
     * @param result
     * @param remark
     * @return
     * @throws BizException
     */
    void ipApprove(Integer userId, Integer result, String remark, String ipApplyNo) throws Exception;


    /**
     * 获取订单详细信息
     *
     * @param userId
     * @param applyId
     * @return
     */
    IpApplyInfoVo getUserApplyInfo(Integer userId, Integer applyId) throws BizException;


}
